package cn.edu.zjgsu.ito.model;

import java.util.ArrayList;
import java.util.List;

public class UserCommentsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserCommentsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOrderCommentsIdIsNull() {
            addCriterion("order_comments_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderCommentsIdIsNotNull() {
            addCriterion("order_comments_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderCommentsIdEqualTo(Integer value) {
            addCriterion("order_comments_id =", value, "orderCommentsId");
            return (Criteria) this;
        }

        public Criteria andOrderCommentsIdNotEqualTo(Integer value) {
            addCriterion("order_comments_id <>", value, "orderCommentsId");
            return (Criteria) this;
        }

        public Criteria andOrderCommentsIdGreaterThan(Integer value) {
            addCriterion("order_comments_id >", value, "orderCommentsId");
            return (Criteria) this;
        }

        public Criteria andOrderCommentsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_comments_id >=", value, "orderCommentsId");
            return (Criteria) this;
        }

        public Criteria andOrderCommentsIdLessThan(Integer value) {
            addCriterion("order_comments_id <", value, "orderCommentsId");
            return (Criteria) this;
        }

        public Criteria andOrderCommentsIdLessThanOrEqualTo(Integer value) {
            addCriterion("order_comments_id <=", value, "orderCommentsId");
            return (Criteria) this;
        }

        public Criteria andOrderCommentsIdIn(List<Integer> values) {
            addCriterion("order_comments_id in", values, "orderCommentsId");
            return (Criteria) this;
        }

        public Criteria andOrderCommentsIdNotIn(List<Integer> values) {
            addCriterion("order_comments_id not in", values, "orderCommentsId");
            return (Criteria) this;
        }

        public Criteria andOrderCommentsIdBetween(Integer value1, Integer value2) {
            addCriterion("order_comments_id between", value1, value2, "orderCommentsId");
            return (Criteria) this;
        }

        public Criteria andOrderCommentsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("order_comments_id not between", value1, value2, "orderCommentsId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("order_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(Integer value) {
            addCriterion("order_id =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(Integer value) {
            addCriterion("order_id <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(Integer value) {
            addCriterion("order_id >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_id >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(Integer value) {
            addCriterion("order_id <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(Integer value) {
            addCriterion("order_id <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<Integer> values) {
            addCriterion("order_id in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<Integer> values) {
            addCriterion("order_id not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(Integer value1, Integer value2) {
            addCriterion("order_id between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(Integer value1, Integer value2) {
            addCriterion("order_id not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdIsNull() {
            addCriterion("purchase_user_id is null");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdIsNotNull() {
            addCriterion("purchase_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdEqualTo(Integer value) {
            addCriterion("purchase_user_id =", value, "purchaseUserId");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdNotEqualTo(Integer value) {
            addCriterion("purchase_user_id <>", value, "purchaseUserId");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdGreaterThan(Integer value) {
            addCriterion("purchase_user_id >", value, "purchaseUserId");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("purchase_user_id >=", value, "purchaseUserId");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdLessThan(Integer value) {
            addCriterion("purchase_user_id <", value, "purchaseUserId");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("purchase_user_id <=", value, "purchaseUserId");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdIn(List<Integer> values) {
            addCriterion("purchase_user_id in", values, "purchaseUserId");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdNotIn(List<Integer> values) {
            addCriterion("purchase_user_id not in", values, "purchaseUserId");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdBetween(Integer value1, Integer value2) {
            addCriterion("purchase_user_id between", value1, value2, "purchaseUserId");
            return (Criteria) this;
        }

        public Criteria andPurchaseUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("purchase_user_id not between", value1, value2, "purchaseUserId");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreIsNull() {
            addCriterion("purchase_score is null");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreIsNotNull() {
            addCriterion("purchase_score is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreEqualTo(String value) {
            addCriterion("purchase_score =", value, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreNotEqualTo(String value) {
            addCriterion("purchase_score <>", value, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreGreaterThan(String value) {
            addCriterion("purchase_score >", value, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreGreaterThanOrEqualTo(String value) {
            addCriterion("purchase_score >=", value, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreLessThan(String value) {
            addCriterion("purchase_score <", value, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreLessThanOrEqualTo(String value) {
            addCriterion("purchase_score <=", value, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreLike(String value) {
            addCriterion("purchase_score like", value, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreNotLike(String value) {
            addCriterion("purchase_score not like", value, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreIn(List<String> values) {
            addCriterion("purchase_score in", values, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreNotIn(List<String> values) {
            addCriterion("purchase_score not in", values, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreBetween(String value1, String value2) {
            addCriterion("purchase_score between", value1, value2, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseScoreNotBetween(String value1, String value2) {
            addCriterion("purchase_score not between", value1, value2, "purchaseScore");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsIsNull() {
            addCriterion("purchase_comments is null");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsIsNotNull() {
            addCriterion("purchase_comments is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsEqualTo(String value) {
            addCriterion("purchase_comments =", value, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsNotEqualTo(String value) {
            addCriterion("purchase_comments <>", value, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsGreaterThan(String value) {
            addCriterion("purchase_comments >", value, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsGreaterThanOrEqualTo(String value) {
            addCriterion("purchase_comments >=", value, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsLessThan(String value) {
            addCriterion("purchase_comments <", value, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsLessThanOrEqualTo(String value) {
            addCriterion("purchase_comments <=", value, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsLike(String value) {
            addCriterion("purchase_comments like", value, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsNotLike(String value) {
            addCriterion("purchase_comments not like", value, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsIn(List<String> values) {
            addCriterion("purchase_comments in", values, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsNotIn(List<String> values) {
            addCriterion("purchase_comments not in", values, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsBetween(String value1, String value2) {
            addCriterion("purchase_comments between", value1, value2, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andPurchaseCommentsNotBetween(String value1, String value2) {
            addCriterion("purchase_comments not between", value1, value2, "purchaseComments");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdIsNull() {
            addCriterion("courier_user_id is null");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdIsNotNull() {
            addCriterion("courier_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdEqualTo(Integer value) {
            addCriterion("courier_user_id =", value, "courierUserId");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdNotEqualTo(Integer value) {
            addCriterion("courier_user_id <>", value, "courierUserId");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdGreaterThan(Integer value) {
            addCriterion("courier_user_id >", value, "courierUserId");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("courier_user_id >=", value, "courierUserId");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdLessThan(Integer value) {
            addCriterion("courier_user_id <", value, "courierUserId");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("courier_user_id <=", value, "courierUserId");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdIn(List<Integer> values) {
            addCriterion("courier_user_id in", values, "courierUserId");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdNotIn(List<Integer> values) {
            addCriterion("courier_user_id not in", values, "courierUserId");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdBetween(Integer value1, Integer value2) {
            addCriterion("courier_user_id between", value1, value2, "courierUserId");
            return (Criteria) this;
        }

        public Criteria andCourierUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("courier_user_id not between", value1, value2, "courierUserId");
            return (Criteria) this;
        }

        public Criteria andCourierScoreIsNull() {
            addCriterion("courier_score is null");
            return (Criteria) this;
        }

        public Criteria andCourierScoreIsNotNull() {
            addCriterion("courier_score is not null");
            return (Criteria) this;
        }

        public Criteria andCourierScoreEqualTo(String value) {
            addCriterion("courier_score =", value, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierScoreNotEqualTo(String value) {
            addCriterion("courier_score <>", value, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierScoreGreaterThan(String value) {
            addCriterion("courier_score >", value, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierScoreGreaterThanOrEqualTo(String value) {
            addCriterion("courier_score >=", value, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierScoreLessThan(String value) {
            addCriterion("courier_score <", value, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierScoreLessThanOrEqualTo(String value) {
            addCriterion("courier_score <=", value, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierScoreLike(String value) {
            addCriterion("courier_score like", value, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierScoreNotLike(String value) {
            addCriterion("courier_score not like", value, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierScoreIn(List<String> values) {
            addCriterion("courier_score in", values, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierScoreNotIn(List<String> values) {
            addCriterion("courier_score not in", values, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierScoreBetween(String value1, String value2) {
            addCriterion("courier_score between", value1, value2, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierScoreNotBetween(String value1, String value2) {
            addCriterion("courier_score not between", value1, value2, "courierScore");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsIsNull() {
            addCriterion("courier_comments is null");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsIsNotNull() {
            addCriterion("courier_comments is not null");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsEqualTo(String value) {
            addCriterion("courier_comments =", value, "courierComments");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsNotEqualTo(String value) {
            addCriterion("courier_comments <>", value, "courierComments");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsGreaterThan(String value) {
            addCriterion("courier_comments >", value, "courierComments");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsGreaterThanOrEqualTo(String value) {
            addCriterion("courier_comments >=", value, "courierComments");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsLessThan(String value) {
            addCriterion("courier_comments <", value, "courierComments");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsLessThanOrEqualTo(String value) {
            addCriterion("courier_comments <=", value, "courierComments");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsLike(String value) {
            addCriterion("courier_comments like", value, "courierComments");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsNotLike(String value) {
            addCriterion("courier_comments not like", value, "courierComments");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsIn(List<String> values) {
            addCriterion("courier_comments in", values, "courierComments");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsNotIn(List<String> values) {
            addCriterion("courier_comments not in", values, "courierComments");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsBetween(String value1, String value2) {
            addCriterion("courier_comments between", value1, value2, "courierComments");
            return (Criteria) this;
        }

        public Criteria andCourierCommentsNotBetween(String value1, String value2) {
            addCriterion("courier_comments not between", value1, value2, "courierComments");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdIsNull() {
            addCriterion("demand_user_id is null");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdIsNotNull() {
            addCriterion("demand_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdEqualTo(Integer value) {
            addCriterion("demand_user_id =", value, "demandUserId");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdNotEqualTo(Integer value) {
            addCriterion("demand_user_id <>", value, "demandUserId");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdGreaterThan(Integer value) {
            addCriterion("demand_user_id >", value, "demandUserId");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("demand_user_id >=", value, "demandUserId");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdLessThan(Integer value) {
            addCriterion("demand_user_id <", value, "demandUserId");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("demand_user_id <=", value, "demandUserId");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdIn(List<Integer> values) {
            addCriterion("demand_user_id in", values, "demandUserId");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdNotIn(List<Integer> values) {
            addCriterion("demand_user_id not in", values, "demandUserId");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdBetween(Integer value1, Integer value2) {
            addCriterion("demand_user_id between", value1, value2, "demandUserId");
            return (Criteria) this;
        }

        public Criteria andDemandUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("demand_user_id not between", value1, value2, "demandUserId");
            return (Criteria) this;
        }

        public Criteria andDemandScoreIsNull() {
            addCriterion("demand_score is null");
            return (Criteria) this;
        }

        public Criteria andDemandScoreIsNotNull() {
            addCriterion("demand_score is not null");
            return (Criteria) this;
        }

        public Criteria andDemandScoreEqualTo(String value) {
            addCriterion("demand_score =", value, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandScoreNotEqualTo(String value) {
            addCriterion("demand_score <>", value, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandScoreGreaterThan(String value) {
            addCriterion("demand_score >", value, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandScoreGreaterThanOrEqualTo(String value) {
            addCriterion("demand_score >=", value, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandScoreLessThan(String value) {
            addCriterion("demand_score <", value, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandScoreLessThanOrEqualTo(String value) {
            addCriterion("demand_score <=", value, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandScoreLike(String value) {
            addCriterion("demand_score like", value, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandScoreNotLike(String value) {
            addCriterion("demand_score not like", value, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandScoreIn(List<String> values) {
            addCriterion("demand_score in", values, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandScoreNotIn(List<String> values) {
            addCriterion("demand_score not in", values, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandScoreBetween(String value1, String value2) {
            addCriterion("demand_score between", value1, value2, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandScoreNotBetween(String value1, String value2) {
            addCriterion("demand_score not between", value1, value2, "demandScore");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsIsNull() {
            addCriterion("demand_comments is null");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsIsNotNull() {
            addCriterion("demand_comments is not null");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsEqualTo(String value) {
            addCriterion("demand_comments =", value, "demandComments");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsNotEqualTo(String value) {
            addCriterion("demand_comments <>", value, "demandComments");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsGreaterThan(String value) {
            addCriterion("demand_comments >", value, "demandComments");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsGreaterThanOrEqualTo(String value) {
            addCriterion("demand_comments >=", value, "demandComments");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsLessThan(String value) {
            addCriterion("demand_comments <", value, "demandComments");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsLessThanOrEqualTo(String value) {
            addCriterion("demand_comments <=", value, "demandComments");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsLike(String value) {
            addCriterion("demand_comments like", value, "demandComments");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsNotLike(String value) {
            addCriterion("demand_comments not like", value, "demandComments");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsIn(List<String> values) {
            addCriterion("demand_comments in", values, "demandComments");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsNotIn(List<String> values) {
            addCriterion("demand_comments not in", values, "demandComments");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsBetween(String value1, String value2) {
            addCriterion("demand_comments between", value1, value2, "demandComments");
            return (Criteria) this;
        }

        public Criteria andDemandCommentsNotBetween(String value1, String value2) {
            addCriterion("demand_comments not between", value1, value2, "demandComments");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}